home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-11-03 | 81.0 KB | 1,572 lines |
-
- BoxKite V 1.72
- ==============
-
- ---- Just another file selector ----
-
-
-
-
- 1. Was ist und was soll BoxKite?
- --------------------------------
-
- BoxKite ist eine kleine, handliche, saubere, kompatible
- Dateiauswahlbox. Er hängt sich ins TOS ein und wartet darauf, daß ein
- Anwendungsprogramm die GEM-eigene Dateiauswahlbox anzeigen möchte.
- Dann schiebt er sich dazwischen und zeigt stattdessen seine eigene Box
- an. Diese bietet einige Möglichkeiten, die weit über die in den ROMs
- enthaltene Box himausgehen und hält sich dabei an gewisse Standards,
- die sich im Laufe der Zeit herauskristallisiert haben. So ist es etwa
- möglich, mehrere Dateien auf einmal zu selektieren; Sie können Dateien
- aus BoxKite heraus kopieren oder löschen und Sie können BoxKite (fast)
- vollständig mit der Tastatur bedienen. Darüber hinaus können Sie
- BoxKite in vielerlei Hinsicht an Ihre Vorlieben anpassen - sogar in
- der Größe. BoxKite dürfte der erste Fileselector mit dieser
- Eigenschaft sein.
-
- Vor allen Dingen aber ist BoxKite zukunftssicher: Er kann unter
- MiNT/MultiTOS mit langen Dateinamen mit gemischter Groß- und
- Kleinschreibung umgehen. Das erscheint zwar noch nicht wichtig, ich
- bin aber davon überzeugt, daß sich irgendwann vernünftige Dateisysteme
- durchsetzen werden.
-
- Ein paar Worte zur Entstehung
- -----------------------------
-
- Mein Texteditor SCEdit enthielt eigentlich schon immer einen eigenen
- Fileselector. Ich bin also vorbelastet. Für eine neue SCEdit-Version
- entstand eine erweiterte Dialogbibliothek (Für Kenner: Es handelt sich
- um eine quasi objektorientiertes System unter Pure C. So ist etwa die
- Dateiliste in BoxKite EIN Objekt.), die auch eine Dateiauswahl als
- vordefinierten Dialog enthalten sollte. Sine qua non war dabei die
- MiNT-Anbindung und der korrekte Umgang mit langen Dateinamen. Etwa um
- diese Zeit fiel mir Stefan Radermachers Selectric™ in die Hände, der
- etliche hervorragende Ideen enthält, aber eben MiNT und die
- erweiterten Dateisysteme leider (noch?) nicht unterstützt. Da habe ich
- dann gemerkt, daß es noch keinen wirklich komfortablen Fileselector
- gibt, der dies leistet. So nahm das Schicksal seinen Lauf...
-
- Meine persönlichen Daten:
-
- Harald Becker
- Ferrenbergstraße 41
- 51465 Bergisch Gladbach
- Konto 1311 045 876, Kreissparkasse Köln
- (Bankleitzahl 370 502 99)
-
- Email: Harald Becker @ K (Mausnetz)
-
-
- 2. Juristisches
- ---------------
-
- BoxKite ist SHAREWARE. Sie haben die Möglichkeit, das Programm vier
- Wochen lang zu testen. Bei regelmäßiger Benutzung über diesen Zeitraum
- hinaus haben Sie eine Sharewaregebühr von 20,-- DM an mich zu
- entrichten (Bankverbindung siehe oben oder unter dem Menupunkt "Über
- BoxKite"). Geben Sie bei Überweisungen bitte unbedingt den Zweck und
- Ihre Adresse mit an, da ich das Geld sonst nicht zuordnen kann. Es ist
- auch sinnvoll, wenn Sie mir mitteilen, welche Version von BoxKite
- Ihnen da in die Hände gefallen ist.
-
- Nach schlechten Erfahrungen mit vorangegengenen Shareware-Projekten
- sah ich mich leider dazu gezwungen, die öffentliche Version von
- BoxKite leicht einzuschränken. Die Funktionen "Arbeit sichern",
- "Verschieben" und "Touch" sind erst in der Vollversion verfügbar. Das
- bedeutet insbesondere, daß Sie erst in der Vollversion eine
- Konfiguration abspeichern und damit BoxKite dauerhaft Ihrem Geschmack
- anpassen können. Nach Zahlung der Shareware-Gebühr erhalten Sie von
- mir schnellstmöglich einen Schlüssel, mit dem Sie die öffentliche
- Version in eine mit Ihrem Namen personalisierte Vollversion verwandeln
- können. Beachten Sie aber bitte, daß Sie eine personalisierte Version
- nicht weitergeben dürfen. Andernfalls verstoßen Sie gegen geltendes
- Recht.
-
- Da die oben beschriebenen Einschränkungen dem Vernehmen nach leider
- nicht ausreichten alle potentiellen Anwender zu einem korrekten
- Verhalten zu bewegen, wird seit Version 1.60 darüber hinaus in
- unregelmäßigen Abständen beim Verlassen der Box mit "Ok" einen
- Hinweis zur Erinnerung ausgeben. Dies führt aber zu keiner
- Einschränkung der Testmöglichkeiten.
-
- Die öffentliche Version von BoxKite dürfen (und sollen) Sie nach
- Belieben weitergeben. Voraussetzung ist dabei, daß Sie die
- Zusammenstellung der Dateien im Ordner nicht verändern. Ferner dürfen
- Sie die Programm- und Dokumentationsdateien nicht modifizieren und
- vor allen Dingen keinen Copyrightvermerk entfernen oder verändern.
- Ausnahme: Sie dürfen das vollständige Paket mit einem Archivprogramm
- (ARC, ZIP o. ä.) komprimieren.
-
- Alternativ zum Shareware-Vertrieb ist eine exklusive Vollversion von
- BoxKite in der whiteline-Serie der Firma delta labs media
- erhältlich. Diese umfaßt ein gedrucktes Handbuch und kostet 30,-- DM.
- Wenn Sie eine solche Vollversion mit gedrucktem Handbuch erworben
- haben, haben Sie keine weiteren Verpflichtungen mehr an mich. Diese
- Vollversion dürfen Sie natürlich NICHT weitergeben. Bezugsadresse:
-
- delta labs software
- Brillerstraße 40
- 42105 Wuppertal
-
- Bedenken Sie bitte, daß auch in einem 'kleinen' Programm wie BoxKite
- eine Menge an Entwicklungsarbeit steckt. Ich habe allein einige Monate
- darauf verwendet, das Programm so 'klein' (d. h. speichersparend) wie
- möglich zu gestalten.
-
- Zuletzt muß noch dies gesagt werden:
-
- Ich, Harald Becker, kann keine Haftung für irgendwelche direkten oder
- indirekten Schäden - einschliesslich, aber nicht beschränkt auf
- materielle oder finanzielle - übernehmen, die durch die Benutzung von
- BoxKite oder die Untauglichkeit von BoxKite für einen bestimmten Zweck
- entstehen.
-
- Vorgehen zur Registrierung
- --------------------------
-
- Die whiteline-Vollversion von BoxKite brauchen Sie natürlich nicht
- mehr zu registrieren. In diesem Falle können Sie also die folgenden
- Erläuterungen überspringen.
-
- Vor der Registrierung ziehen Sie am besten eine Sicherheitskopie der
- öffentlichen Version von BoxKite, da Sie - wie gesagt - eine
- personalisierte Version nicht mehr weitergeben dürfen. Wenn Sie dann
- in der öffentlichen Version im Menu "Funktionen" den Eintrag "Über
- BoxKite" auswählen, finden Sie dort einen Knopf "Registrieren". Ein
- Klick auf diesen Knopf führt Sie weiter in eine Dialogbox mit zwei
- Textfeldern, in die Sie dann Ihren Namen und den Schlüssel eingeben
- sollten. Wenn Sie BOXKITE.PRG unter diesem Namen im AUTO-Ordner Ihres
- Bootlaufwerks installiert haben, geschieht alles weitere automatisch.
- Andernfalls fragt BoxKite Sie, wo sich BOXKITE.PRG befindet. Wechseln
- Sie dann einfach in BoxKite in das entsprechende Verzeichnis und
- selektieren Sie die entsprechende Datei. Dann wird diese Datei in Ihre
- persönliche Vollversion von BoxKite verwandelt. Den Schlüssel sollten
- Sie sich notieren, da sie damit auch eventuelle Updates von BoxKite
- personalisieren können, ohne sich erneut mit mir in Verbindung zu
- setzen.
-
- Seit der Version 1.60 werden bei "Arbeit sichern" der Benutzername und
- der Schlüssel in BOXKITE.INF gespeichert. Bei einer Neuinstallation
- werden diese Daten dann in den Registrierungsdialog eingesetzt, so daß
- Sie diese Angaben nur noch mit "Ok" zu bestätigen brauchen.
-
-
- 3. Installation
- ---------------
-
- Zum BoxKite-Paket gehören diese Programme:
-
- - BOXKITE.PRG: Das eigentliche residente Programm.
-
- - BOXKITE.ACC: Ein kleines Accessory, das es gestattet, BoxKite an-
- und abzuschalten oder ihn mal eben auf den Bildschirm zu bringen, um
- eine Datei zu kopieren oder zu suchen oder... Sie können dieses
- Programm auch in BOXKITE.APP umbenennen und dann einfach durch
- Doppelklick vom Desktop aus starten. (Es ist auch möglich, daß sich
- diese Datei als schon als BOXKITE.APP in der Distribution befindet.)
-
- - BOXKITE.CPX: Ein Modul fürs neue Kontrollfeld XCONTROL,
- funktionsgleich mit BOXKITE.ACC.
-
- - BEISPIEL.C: Ein Beispielprogramm im Quelltext, das den Abruf
- mehrerer Dateinamen über 'get_first' und 'get_next' demonstriert. An
- MultiTOS und lange Dateinamen angepaßt. Seit Version 1.71 auch eine
- Demonstration der erweiterten Schnittstelle, über die BoxKite den
- Neuaufbau der Hintergrundfenster an die Hauptanwendung delegieren
- kann.
-
- - BOXINPUT.S, BOXINPUT.O: Module zur Unterstützung der erweiterten
- Schnittstelle.
-
- Da die TOS-Landschaft inzwischen etwas komplizierter geworden ist,
- gibt es zur Installation verschiedene Möglichkeiten, die je nach
- TOS-Version und sonstiger Software-Ausstattung mehr oder weniger
- empfehlenswert sind:
-
- 1. Einfaches TOS: Hier empfiehlt es sich, BOXKITE.PRG in den
- AUTO-Ordner zu kopieren und den Rechner neu zu starten. Dann ist
- BoxKite ins Betriebssystem integriert und steht jederzeit zur
- Verfügung.
-
- Hinweis: Wenn man bei TT- oder Mega-STE-TOS im Desktop eine neue
- .INF-Datei liest, erscheint immer die gewöhnliche TOS-Auswahlbox. Das
- ist ein Problem von TOS; es liegt daran, daß bei diesen (wie auch bei
- allen älteren) Versionen der Desktop keine GEM-Anwendung, sondern ein
- integraler Teil von GEM ist. MultiTOS ist da intelligenter...
-
- 2. Einfaches TOS mit MiNT 0.95 oder höher (ältere MiNT-Versionen
- sollte sowieso niemand mehr benutzen): Auch hier können Sie BoxKite
- einfach im AUTO-Ordner installieren; vorzugsweise so, daß er nach
- MINT.PRG gestartet wird. Es gibt aber noch eine hübschere Möglichkeit:
- Beim Booten arbeitet MiNT die Steuerdatei MINT.CNF ab, die auch
- Befehle zum Starten von Programmen enthalten kann. Diese Programme
- kommen nach der Initialisierung von MiNT zum Zuge, und zwar in der
- Reihenfolge, in der sie in MINT.CNF aufgeführt sind. Dabei können sie
- in ganz beliebigen Ordnern stehen. In dieser Situation erhält BoxKite
- die Gelegenheit, sich auf MiNT einzustellen. Fazit: Unter MiNT sollten
- Sie in Ihre MINT.CNF die Zeile
-
- exec C:\BOXKITE.PRG
-
- einfügen und den Rechner neu starten. Wenn BOXKITE.PRG in einem Ordner
- steht, sollten Sie natürich den entsprechenden vollständigen Pfad
- benutzen.
-
- 3. MultiTOS: Da MultiTOS auf MiNT aufgebaut ist, gilt hier dasselbe,
- was zu MiNT gesagt wurde. Zusätzlich ist es hier erforderlich,
- entweder das Accessory BOXKINST.ACC oder die Kontrollfelderweiterung
- BOXKINST.CPX zu mitzubooten. Sie sorgen für die saubere Installation
- von BoxKite im Betriebssystem. Dies gilt zumindest in den
- MultiTOS-Versionen, die ich bisher kenne. Es ist immer möglich, daß
- Atari da plötzlich etwas ändert. Dann werde ich BoxKite
- schnellstmöglich anpassen.
-
- 4. MagiC (ich glaube, jetzt weiß ich, wie man das schreibt): Hier gilt
- dasselbe wie unter normalem TOS.
-
- Sie können BOXKITE.PRG auch in jedem Falle vom Desktop aus starten.
- Dann wird BoxKite ebenfalls resident installiert. Für einen kleinen
- Test ist diese Methode ausreichend, sie hat aber zwei Nachteile: Zum
- einen kann sie zu einem ineffizienten Verhalten der Speicherverwaltung
- führen (Fragmentierung), und zum anderen wird dann GEM bei einem
- Auflösungswechsel gnadenlos abstürzen. Das ist ein Problem von TOS,
- für das es wahrscheinlich keine saubere Lösung gibt.
-
- Unverträglichkeiten von BoxKite mit anderen residenten Programmen sind
- mit einer Ausnahme nicht bekannt. Damit er sich aber nicht mit anderen
- residenten Fileselektoren ins Gehege kommt, prüft er beim Start, ob im
- Cookie-Jar von TOS bereits ein Cookie namens 'FSEL' existiert. Wenn
- dies der Fall ist, installiert sich BoxKite nicht im System.
-
- Die o. a. Ausnahme ist MultiDesk von Codehead. Dieser
- Accessory-Expander ist ziemlich unsauber programmiert; insbesondere
- benutzt er zum Verbiegen der Systemvektoren nicht das XBRA-Verfahren.
- Das führt dazu, daß BOXKINST.CPX abstürzt. BOXKINST.ACC müßte dagegen
- laufen.
-
- *** ACHTUNG ***
-
- Wenn Sie von BoxKite 1.2x oder 1.4x nach BoxKite 1.6x wechseln,
- sollten Sie vor dem ersten Systemstart mit dem neuen BoxKite Ihre
- bisherige BOXKITE.INF (im Wurzelverzeichnis Ihres Bootlaufwerkes)
- löschen oder umbenennen. Mit "Arbeit sichern" können Sie als
- registrierter Benutzer jederzeit eine neue Konfiguration speichern.
-
-
- 4. Bedienung
- ------------
-
- Gewisse Ähnlichkeiten mit der Standard-GEM-Box oder anderen
- Ersatzprodukten kann BoxKite nicht verleugnen: So gibt es auch hier
- eine Dateiliste, ein Eingabefeld für den aktuellen Ordner, eines für
- den Dateinamen und die Knöpfe "Ok" und "Abbruch", daneben aber auch
- einiges mehr.
-
- Zunächst einige allgemeine Bemerkungen:
-
- 1. Eine grafische Benutzerschnittstelle läßt sich eigentlich gar nicht
- beschreiben; man muß damit herumspielen. Am besten drucken Sie also
- diesen Text aus, legen ihn neben Ihren Rechner und bringen BoxKite
- irgendwie auf den Bildschirm, im Zweifel mit BOXKINST.ACC oder
- BOXKINST.CPX. Wenn Sie dann beim Durchlesen auf eine interessante
- Möglichkeit stoßen, probieren Sie es sofort aus. So gewinnen Sie den
- besten Überblick über die (nicht gerade wenigen) Möglichkeiten von
- BoxKite.
-
- 2. Mit BoxKite können Sie mehrere Dateien auf einmal auswählen, sofern
- das aufrufende Programm dies zuläßt. Hierzu wird dasselbe Protokoll
- wie in Selectric™ 1.02 verwendet. Alle Programme, die Selectric™ in
- diesem Sinne unterstützen, unterstützen damit auch BoxKite. Dies
- können Sie z. B. mit GemView oder 1stGuide testen. (Ich liebe
- BiKapitalisierungen!) Manche Programme verkraften nur eine bestimmte
- Anzahl von Dateien und teilen dies BoxKite mit; sollten Sie in einem
- solchen Fall mehr Dateien ausgewählt haben, so warnt BoxKite Sie mit
- einem Piepton (es sei denn, Sie haben im Kontrollfeld den Lautsprecher
- abgewürgt) und übergibt dem Programm nur die obersten Dateien.
-
- 3. Wie schon erwähnt ist BoxKite (fast) komplett mit der Tastatur
- bedienbar und signalisiert dies (wiederum fast) überall durch die
- Bildschirmdarstellung. Wenn etwa ein Knopf in seiner Beschriftung
- einen unterstrichenen Buchstaben aufweist, so können Sie ihn (den
- Knopf) auch "anklicken", indem Sie die Buchstabentaste zusammen mit
- "Alternate" drücken.
-
- Um wirklich restlos alle Dialogobjekte mit der Tastatur bedienbar zu
- machen, wird in BoxKite das Konzept des Tastaturfokus angewendet.
- Dahinter steckt folgendes: Stellen Sie sich eine ganz normale
- GEM-Dialogbox mit mehreren Texteingabefeldern vor. Wenn Sie dann ein
- Zeichen eingeben, dann landet dieses Zeichen in dem Eingabefeld, in
- dem gerade der Eingabecursor (der dünne Strich) steht. Man kann also
- sagen, daß dieses Objekt gerade mit der Tastatur "verdrahtet" ist,
- oder, vornehm ausgedrückt: Der Tastaturfokus steht gerade auf diesem
- Objekt.
-
- Diese Methode wird in BoxKite etwas verallgemeinert. Da z. B. die
- Dateiliste in BoxKite keinen Cursor kennt und da etwa das Pfadfeld in
- BoxKite breiter werden kann als der am Bildschirm sichtbare
- Ausschnitt, wird dasjenige Objekt, das gerade im obigen Sinne an die
- Tastatur angeschlossen ist, mit einem doppelten Rahmen kenntlich
- gemacht. Dieser Rahmen stellt den Tastaturfokus dar.
-
- Den Tastaturfokus (d. h. den doppelten Rand) versetzen Sie mit der
- "Tab"-Taste zum nächsten, mit "Shift-Tab" zum vorherigen Objekt.
-
- 4. Einige Knöpfe in BoxKite enthalten Pop-Up-Menus (PopUps, BeamUps,
- JazzUps, SonstWasUps), die eine Reihe von Unterpunkten zur Auswahl
- anbieten. Diese Menus können Sie genauso bedienen wie die Drop-Down
- Menus in (fast) jedem GEM-Programm, indem Sie mit losgelassener
- Maustaste darüberfahren und einen Punkt anklicken. Sie können aber
- auch die Maustaste festhalten und darüberfahren; wenn Sie dann die
- Maustaste über einem Punkt loslassen, wird dieser angewählt. Ebenso
- können Sie die Maus ganz in weglassen und mit den Tasten "Pfeil auf"
- und "Pfeil ab" einen Punkt markieren und diesen mit "Return"
- auswählen. Mit "Esc" bringen Sie das Menu wieder zum Verschwinden,
- ohne etwas auszuwählen, ebenso wie mit einem Klick bzw. dem Loslassen
- der Maustaste außerhalb des Menus. Mit dem Druck auf eine Buchstaben-
- oder Zifferntaste können Sie den jeweils nächsten Punkt direkt
- anspringen, der mit diesem Buchstaben bzw. dieser Ziffer beginnt. Dies
- klappt leider nicht mit den Umlauten. Um also den Menupunkt "Über
- BoxKite" direkt anzufahren, müssen Sie ein 'b' drücken.
-
- 5. BoxKite stellt auch die wichtigsten Dateioperationen wie Kopieren,
- Löschen, etc. zur Verfügung. Diese Operationen arbeiten rekursiv, d.
- h. wenn ein Ordner betroffen ist, werden auch alle darin enthaltenen
- Dateien und weiteren Ordner bearbeitet. Wenn man also etwa einen
- Ordner kopiert oder löscht, wird - genau wie im Desktop - sein
- vollständiger Inhalt mitkopiert oder -gelöscht. Solche Operationen
- können schon mal etwas dauern. Wenn Ihnen das zu langweilig wird (oder
- wenn Sie feststellen, daß Sie einen Fehler gemacht haben) können Sie
- jede derartige Operation mit den Tasten "Esc" oder "Undo" abbrechen.
-
- 6. In BoxKite können Sie, genau wie in der Standardbox, die Anzeige
- auf Dateien beschränken, die auf ein bestimmtes Suchmuster passen.
- Namen, die Sie momentan nicht interessieren, brauchen Sie also noch
- nicht einmal anzusehen. Die Art, wie diese Suchmuster eingegeben
- werden, unterscheidet sich allerdings etwas von den bekannten
- TOS-Wildcards, die etwa in der Standardbox verwendet werden. Sie
- orientiert sich an dem von UNIX her bekannten Standard, auch
- 'globbing' genannt, der sich auch in der ATARI-Welt so peu a peu
- durchsetzt und wesentlich flexibler ist. Es sind folgende Jokerzeichen
- möglich:
-
- - '?': Steht für ein beliebiges unbekanntes Zeichen (das ist
- noch genau so wie in TOS). Beispiel: 'MEMO?.TXT' paßt auf
- 'MEMO1.TXT' oder 'MEMO2.TXT', aber nicht auf 'MEMOREX.TXT'.
-
- - '*': Steht für eine beliebige viele (auch 0) Zeichen. Dies
- ist etwas allgemeiner als in TOS. Beispiel: '*TEST*.TXT'
- paßt auf 'TEST.TXT' (hier sind beide '*' durch je 0 Zeichen
- ersetzt), 'BETATEST.TXT', 'TESTER.TXT', oder 'DIETESTS.TXT'.
- Dieses Beispiel würde in der Standardbox schon nicht mehr
- funktionieren. Achtung: Streng nach dieser Regel wäre '*'
- und nicht etwa '*.*' die Maske, die auf alle Dateinamen
- paßt. Um aber alte Gewohnheiten nicht übermäßig zu stören,
- übersetzt BoxKite die Maske '*.*' (die eigentlich bedeutet:
- Alle Namen, die mindestens einen Punkt enthalten) schon bei
- der Eingabe in '*'.
-
- - '[...]': Eine Zeichenklasse in eckigen Klammern paßt auf
- ein Zeichen aus dieser Klasse. An dieser Stelle muß TOS
- passen. Beispiele: 'PROG.[CHO]' paßt auf 'PROG.C', 'PROG.H'
- oder 'PROG.O'. 'MEMO[1-9].DOC' paßt auf 'MEMO1.DOC',
- 'MEMO2.DOC', usw. bis 'MEMO9.DOC'. Wenn das erste Zeichen
- hinter '[' ein '^' ist, wird die Bedeutung der Zeichenklasse
- umgedreht: 'TEST.[^A-Z]' paßt auf alle Dateien der Form
- 'TEST.?', wobei an der Stelle des Fragezeichens irgendein
- Zeichen steht, das kein Großbuchstabe ist.
-
- Schließlich lassen sich auch mehrere Masken durch ein Komma
- ',' zusammenfügen. In diesem Falle werden alle Namen
- gefunden, die auf irgendeine der Masken passen. Beispiel:
- 'TEST.C,TEST.H' paßt auf 'TEST.C' oder 'TEST.H'.
-
- Einige konkrete Beispiele:
-
- - '*.APP,*.TOS,*.PRG,*.TTP,*.GTP' paßt auf alle Programme.
- - '*.AC?' paßt auf alle aktiven und inaktiven Accessories.
- - '*.AC[CX]' beschreibt dasselbe, nur etwas genauer.
- - '*READ*ME*' paßt auf alle Namen wie 'README', 'READ.ME' etc.
- - '*DESK*.IN[FX]' paßt auf aktive und inaktive 'DESKTOP.INF'-Dateien,
- auch für den neuen Desktop.
-
- Nun zu den Bedienungselementen von BoxKite im Einzelnen:
-
- Die Titelzeile
- --------------
-
- Sie bietet Platz für einen Infotext, den das aufrufende
- Anwendungsprogramm festlegt. Bei Programmen, die noch nichts von den
- neueren GEM-Versionen wissen, werden Namen und Versionsnummer von
- BoxKite angezeigt. Darüber hinaus kann BoxKite mit Hilfe der
- Titelzeile sogar fliegen (was man bei dem Namen auch erwarten sollte):
- Wenn Sie in die Kopfzeile klicken und die Maustaste festhalten, wird
- BoxKite durchsichtig. Den verbliebenen "Geisterrahmen" können Sie dann
- verschieben; wenn Sie die Maustaste wieder loslassen, erscheint
- BoxKite an der neuen Position. Voraussetzung für diese Flugfähigkeit
- ist, daß BoxKite genug freien Speicher vorfindet, um den kompletten
- Bildschirmhintergrund zu retten. Ist dies nicht möglich, so fliegt er
- nicht. Auch alle weiteren Dialogboxen, die BoxKite anzeigt, sind
- mittels ihrer Kopfzeile flugfähig.
-
- P. S.: BoxKite fliegt nicht "massiv", wie man es etwa von den Dialogen
- in "Gemini" kennt. Das ist zwar ein hübsches Feature, kann aber -
- gerade bei kleineren Bildschirmen - verdeckte Informationen auch nicht
- immer freilegen. Der Nutzen scheint mir also eher zweifelhaft.
-
- Die Dateiliste
- --------------
-
- Die Dateiliste sieht (etwa) aus wie ein Fenster im Desktop und nimmt
- den größten Teil der Box ein. Sie zeigt einen Teil der Dateien im
- aktuellen Ordner, die auf die aktuelle Auswahlmaske passen, an. Der
- angezeigte Ausschnitt läßt sich mit Hilfe des Sliders am rechten Rand
- verstellen. Die Liste enthält zusätzlich zu den Dateinamen auch die
- Größe sowie das Datum und die Uhrzeit der Erstellung, sofern die
- Breite der Box ausreicht. Ordner werden mit demselben Zeichen wie in
- Desktop-Fenstern markiert. Zusätzlich werden Ordner und Programme in
- Farbauflösungen farblich hervorgehoben. Wenn vor dem Namen eines
- Objektes ein Gleichheitszeichen erscheint, dann handelt es sich bei
- diesem Objekt um einen symbolischen Link (kommt nur unter MiNT vor).
- Symbolische Links, die auf Objekte verweisen, die gar nicht
- existieren, werden nicht angezeigt. Links werden ebenfalls farbig
- angezeigt. (Die farbigen Hervorhebungen können Sie seit Version 1.70
- per Option abschalten.)
-
- Zur Mausbedienung: Die Handhabung des Sliders sollte Ihnen von den
- Desktop-Fenstern her vertraut sein. In der Liste sind die gerade
- ausgewählten Dateien (das können auch mehrere sein, s. o.) schwarz
- hinterlegt. Die Anzahl der gerade selektierten Dateien können Sie
- oberhalb der Liste ablesen. Durch einfaches Anklicken selektieren sie
- eine Datei, alle anderen werden deselektiert. Ordner werden beim
- Anklicken geöffnet, das können Sie aber auch auf einen Doppelklick
- umstellen. Halten Sie beim Anklicken die Shift-Taste fest, so wird
- nichts deselektiert; Sie selektieren diese Datei zusätzlich zu den
- anderen. Halten Sie nach dem Klick die Maustaste fest und bewegen die
- Maus, so werden alle überstrichenen Dateien selektiert. Am oberen oder
- unteren Rand wird die Liste gescrollt. Wenn sie eine Datei durch
- Anklicken selektieren und beim nächsten Klick die 'Control'-Taste
- festhalten, werden alle Dateien dazwischen mit selektiert. Zwischen
- den Klicks kann die Liste beliebig gescrollt werden. Damit können Sie
- mit nur zwei Klicks beliebig große zusammenhängende Bereiche
- selektieren. Mit einem Doppelklick auf eine Datei selektieren Sie
- diese und verlassen BoxKite sofort ohne den Umweg über "Ok" oder die
- "Return"-Taste.
-
- Sie können BoxKite auch so einstellen, daß er anstelle eines
- Doppelklicks auch einen einfachen Klick auf die rechte Maustaste
- akzeptiert.
-
- Zur Tastaturbedienung: In der Liste ist immer ein Dateiname eingerahmt
- (es sei denn, sie ist leer). Dieser Rahmen ist der Auswahlcursor; er
- dient dazu, Dateien mit der Tastatur zu selektieren. Wenn die Liste
- den Tastaturfokus hat, können Sie den Auswahlcursor mit den Tasten
- 'Pfeil Auf' und 'Pfeil Ab' um eine Zeile auf und ab bewegen, zusammen
- mit 'Shift' um eine Seite, d. h. um soviele Dateien, wie die Liste
- gerade anzeigt, und mit 'Home' und 'Shift-Home' können Sie zum
- Listenanfang bzw. -Ende springen. Bei diesen Bewegungen wird die Datei
- unter dem Cursor automatisch selektiert. Mit 'Control-Auf' und
- 'Control-Ab' bewegen Sie den Rahmencursor, ohne die aktuelle Selektion
- zu beeinflussen. Ein Druck auf die Leertaste selektiert die Datei
- unter dem Rahmencursor und deselektiert alle anderen; mit 'Shift-Leer'
- wird die Datei selektiert, ohne die anderen zu beeinflussen, und mit
- 'Control-Leer' können Sie Bereiche selektieren. Bei 'Shift-Leer' wird
- zudem der Rahmencursor einen Eintrag weiter nach unten gesetzt, so daß
- Sie schnell und bequem einen zusammenhängenden Bereich selektieren
- können.
-
- Die Tasten "Help" und "Undo" haben eine Sonderfunktion: Wenn der
- Auswahlcursor auf einem Ordnernamen steht, können Sie diesen Ordner
- mit "Help" öffnen, ohne daß er selektiert zu sein braucht. (Wenn er
- selektiert ist, genügt "Return" - "Help" ist in diesem Falle also eine
- Abkürzung für die Sequenz "Leertaste" + "Return".) Wenn der
- Auswahlcursor nur auf einer Datei steht, wird diese selektiert. Mit
- "Undo" oder einem Klick auf das Schließfeld (direkt über der Liste am
- linken Rand, s. u.) schließen Sie den aktuellen Ordner; der Inhalt des
- übergeordneten Verzeichnisses wird angezeigt. Für Selectric™-Freunde:
- "Control-Backspace" tuts auch. Seit Version 1.12 können Sie BoxKite
- auch so konfigurieren, daß "Undo" wie "Abbruch" wirkt.
-
- Der Kopf der Dateiliste
- -----------------------
-
- Die Kopfzeile der Dateiliste zeigt ständig die Anzahl der selektierten
- Dateien und Ordner an (es kann ja durchaus passieren, daß nicht alle
- gleichzeitig sichtbar sind). Links von dieser Information befindet
- sich ein Schließfeld, genau wie in einem GEM-Fenster oder in der
- Standardbox. Ein Klick darauf schließt den aktuellen Ordner (wie die
- Taste "Undo", s. o.). Auf der rechten Seite befinden sich drei
- Funktionsknöpfe, die mit je einem Zeichen markiert sind. Die
- zugehörigen Funktionen lassen sich auch mit "Alternate" und der
- Zifferntaste, die das entsprechende Sonderzeichen trägt, aufrufen.
-
- - '?' (Alternate-ß): Dieser Knopf liefert Informationen, abhängig von
- der jeweiligen Selektion. Wenn ein oder mehrere Objekte selektiert
- sind, werden die Dateien und Ordner gezählt und der
- Gesamtspeicherbedarf berechnet. Dabei werden auch die in den Ordnern
- enthaltenen Dateien und weiteren Ordner berücksichtigt. Wenn Ihnen
- diese (Volks-)Zählung zu lange dauert, können Sie sie mit "Esc" oder
- "Undo" abbrechen. Wenn nichts selektiert ist, werden die Kapazität und
- der freie Platz des aktuellen Laufwerks angezeigt. Diese Angaben
- erfolgen in KByte, das KByte zu 1024 (nicht 1000!) Bytes gerechnet. Da
- das Betriebssystem den Speicherplatz auf Disketten bzw. Festplatten
- meist in Häppchen von genau dieser Größe verteilt, erlaubt diese
- Angabe eine praktische Abschätzung des freien Platzes.
-
- - '/' (Alternate-7): Mit diesem Knopf selektieren Sie alle Einträge
- der aktuellen Liste auf einen Schlag. Wenn bereits alle selektiert
- sind, werden sie wieder deselektiert. Wenn Sie dieses Feld mit einem
- Doppelklick anwählen oder gleichzeitig eine der "Shift"-Tasten
- festhalten, wird immer alles deselektiert.
-
- - '=' (Alternate-0): Dieser Knopf löst eine Funktion aus, die einen
- symbolischen Link verfolgt. Näheres im Abschnitt über Dateisysteme.
- Dieser Knopf ist zur Zeit nur unter MiNT selektierbar.
-
- Das Namensfeld (oberhalb der Dateiliste)
- ----------------------------------------
-
- In diesem Feld können Sie einen Dateinamen eintragen, etwa um das
- aufrufende Programm zu veranlassen, eine neue Datei zu erzeugen. Dabei
- gibt es auch einige Spezialitäten: Während Sie in dieses Feld Zeichen
- eintippen, wird sein Inhalt ständig mit der Dateiliste verglichen.
- Wenn Ihre Eingabe sich mit dem Anfang eines Namens in der Liste deckt,
- wird die entsprechende Datei selektiert. (Manche Leute nennen sowas
- einen 'Autolocator'.) Wenn Sie auf diese Art die richtige Datei
- gefunden haben, können Sie den Namen mit "Return" an die Applikation
- übergeben (oder, falls es ein Ordner ist, diesen öffnen). Falls kein
- passender Name existiert, wird die Selektion gelöscht. Das ist
- praktisch, wenn Sie eine neue Datei erzeugen wollen. Alles dies
- funktioniert auch dann, wenn der Tastaturfokus auf der Dateiliste
- steht.
-
- Das Pfadfeld (über dem Namensfeld)
- ----------------------------------
-
- Dieses Feld enthält den vollständigen Namen des aktuellen Ordners (d.
- h. die Namen aller Ordner, in denen er liegt) und die aktuelle
- Suchmaske. In BoxKite kann eine solche Pfadangabe bis zu 128 Zeichen
- umfassen. Wenn sie zu lang für die Darstellung ist, erscheinen am
- linken und/oder rechten Rand des Feldes Pfeile, mit denen Sie den
- sichtbaren Ausschnitt verschieben können.
-
- Einige Möglichkeiten, den aktuellen Pfad zu ändern, haben Sie schon
- kennengelernt: Wenn Sie einen Ordner in der Dateiliste öffnen oder den
- aktuellen Ordner schließen, ändert sich die Pfadangabe im Pfadfeld
- entsprechend. Sie können auch den Fokus auf dieses Feld setzen und den
- Pfad von Hand ändern oder einen neuen eingeben. Das ist aber wohl die
- umständlichste Möglichkeit, es sei denn, Sie machen nur kleine
- Änderungen.
-
- Hinter dem kleinen Abwärtspfeil am rechten Rand des Pfadfeldes
- verbirgt sich eine weitere praktische Möglichkeit: Hier sitzt
- sozusagen das Gedächtnis von BoxKite. Wenn Sie diesen Abwärtspfeil
- anklicken oder mit dem Fokus auf dem Pfadfeld die Taste 'Pfeil ab'
- drücken, öffnet sich ein Pop-Up-Menu, das aus zwei Abteilungen
- besteht. (Dieses Menu können Sie auch mit "Alternate-X" öffnen, ohne
- den Fokus zu versetzen.) Die zweite dieser Abteilungen stellt bis zu 8
- vollständige Pfade zur Auswahl. Wenn Sie in der obersten Abteilung den
- Eintrag "Pfad merken" anklicken oder irgendwo in BoxKite "Alternate-P"
- drücken, wird der aktuelle Pfad oben an das Menu angehängt. Wenn das
- Menu bereits 8 Pfade enthält, wird der unterste Eintrag gelöscht.
-
- Mit Hilfe des Selectric-Protokolls kann ein Anwendungsprogramm BoxKite
- eigene Pfad- bzw. Typenlisten unterschieben. Dann werden diese
- Menupunkte gesperrt. Das ist leider unvermeidlich, da BoxKite
- andernfalls u. U. das Anwendungsprogramm zerstört.
-
- Wenn Sie einen der Pfade auswählen, wird dieser ins Pfadfeld
- übernommen, eingelesen und in der Dateiliste dargestellt. Gleichzeitig
- wird er im Menu an den Anfang gesetzt, so daß er vom Löschen wieder so
- weit wie möglich entfernt ist. So verbleiben die meistgenutzten Pfade
- am längsten im Menu. Halten Sie bei der Auswahl die 'Shift'-Taste
- gedrückt, dann ersetzt die Suchmaske am Ende dieses Pfades die
- aktuelle Auswahlmaske im Pfadfeld.
-
- Auch dann, wenn Sie eine oder mehrere Dateien auswählen und die Box
- mit "Ok" (s. u.) verlassen, wird der aktuelle Pfad an den Anfang der
- zweiten Gruppe des Menus gesetzt. Damit enthält sie eine stets auf den
- neuesten Stand gebrachte Liste der 8 meistbenutzten Pfade. Wenn Sie
- die aktuelle Konfiguration sichern ("Arbeit sichern", s. o.), wird der
- Inhalt dieses Menus mitgesichert, so daß Sie sich einen
- Ausgangszustand herstellen können, der von Anfang an ein bequemes
- Arbeiten erlaubt.
-
- In Version 1.70 sind die automatischen Veränderungen dieses Menüs per
- Option abschaltbar. Dann bietet dieses Menü nur eine feste Liste von
- Pfaden zur einfachen Auswahl an. Beim "Pfad merken" werden dann auch
- keine Pfade herausgeschoben, sondern nur ein Warnton ausgegeben, wenn
- das Menü voll ist. Sie können aber immer einen Pfad explizit aus dem
- Menü entfernen, wenn Sie bei der Auswahl die "Control"-Taste
- festhalten.
-
- Die beiden fehlenden Befehle im Pfadmenü sind nur dann selektierbar,
- wenn in Ihrem System das GEM-Klemmbrett definiert ist. Dies ist z. B.
- immer dann der Fall, wenn Sie GEMINI als Desktop einsetzen. Mit "Pfad
- kopieren" schreiben Sie den aktuell angezeigten Pfad in das
- Klemmbrett. Mit "Pfad einfügen" wird der Pfad aus dem Klemmbrett
- gelesen und angezeigt. Diese Operation ist natürlich nur dann möglich,
- wenn das Klemmbrett auch Daten enthält.
-
- Die Shortcuts für diese Kommandos sind 'Shift-Control-C' und
- 'Shift-Control-V'.
-
- Der Knopf "Ok"
- --------------
-
- Wenn der Tastaturfokus (der doppelte Rand) auf der Dateiliste steht,
- können Sie mit "Ok" BoxKite schließen, und dem aufrufenden Programm
- Ihre Auswahl mitzuteilen. Wenn in der Dateiliste eine oder mehrere
- Dateien selektiert sind, so werden dies ausgewählt. Wenn (mindestens)
- ein Ordner selektiert ist, wird dieser (bei mehreren der oberste)
- geöffnet und sein Inhalt angezeigt. Wenn in der Dateiliste nichts
- selektiert ist, dann übergibt BoxKite dem Anwendungsprogramm den
- Inhalt des Namensfeldes. Dieses kann auch einen Namen enthalten, der
- in der Liste noch nicht vorkommt. Damit veranlassen Sie das jeweilige
- Anwendungsprogramm, eine neue Datei zu erzeugen.
-
- Wenn der Tastaturfokus auf dem Namensfeld steht oder wenn Sie beim
- Klick auf "Ok" eine Shift-Taste festhalten, wird immer der Inhalt des
- Namensfeldes zurückgegeben, unabhängig von einer Selektion in der
- Liste. Diese Variante wird in der folgenden Situation interessant:
- Stellen Sie sich vor, Sie möchten eine Datei namens "TEST" anlegen, im
- aktuellen Verzeichnis existiert aber schon eine Datei namens
- "TESTTEXT.TXT". Wenn Sie nun den Namen "TEST" eingeben, wird vom
- Autolocator "TESTTEXT.TXT" selektiert und beim Klick auf "Ok"
- zurückgegeben. Wenn Sie aber den Fokus auf das Namensfeld setzen (mit
- Mausklick oder "Tab") und dann "Ok" anwählen, erhalten Sie tatsächlich
- nur den Namen "TEST" zurück.
-
- Falls Sie versuchen, einer TOS-Anwendung lange Dateinamen zu
- übergeben, erscheint eine Fehlerbox mit zwei Wahlmöglichkeiten:
- "Weiter" und "Zurück". Mit "Weiter" übergeben Sie die langen Namen an
- die Hauptapplikation. Wenn Sie diese Wahl treffen, sollten Sie wissen,
- was Sie tun. Wenn Sie dagegen "Zurück" anklicken, bleiben Sie in
- BoxKite. Die Darstellung wird dann auf kurze Namen zurückgeschaltet.
- Ihre Selektion bleibt dabei erhalten, so daß Sie sie mit einem
- weiteren "Ok" übergeben können. Es kann allerdings sein, daß sich bei
- alphabetischer Sortierung die Reihenfolge der Einträge ein wenig
- ändert. Die Anzeige dieser Warnungen können Sie über den
- "Expertenmodus" unterdrücken.
-
- Manche Programme verkraften nur eine bestimmte Anzahl von Dateien und
- teilen dies BoxKite mit; sollten Sie in einem solchen Fall mehr
- Dateien ausgewählt haben, so warnt BoxKite Sie mit einem Piepton und
- übergibt dem Programm nur die obersten Dateien.
-
- Wenn der Tastaturfokus auf dem Pfadfeld steht und Sie dort einen neuen
- Pfad oder eine neue Auswahlmaske eingegeben haben, so wird der dort
- eingegebene Pfad eingelesen und angezeigt. Anschließend springt der
- Fokus auf die Dateiliste, damit Sie dort Ihre Auswahl treffen können.
-
- Der Knopf "Abbruch"
- -------------------
-
- Wie Sie sich sicher schon gedacht haben, dient dieser Knopf dazu,
- BoxKite zu verlassen, ohne etwas auszuwählen. Wirklich nichts
- weiter dabei.
-
- Das Größenfeld (das Symbol ganz rechts unten)
- ---------------------------------------------
-
- Wie schon wiederholt erwähnt, können Sie BoxKite wie ein GEM-Fenster
- vergrößern und verkleinern. Die Minimalgröße ist auf eine Listenlänge
- von 10 Dateien im normalen Anzeigeformat ausgelegt. Die Maximalgröße
- (und damit die Zahl der angezeigten Dateien) ist fast nur von der
- Bildschirmauflösung abhängig. "Fast" bedeutet in diesem Zusammenhang
- folgendes: Die Maximalzahl der gleichzeitig angezeigten Dateien
- beträgt 100. (Den Monitor möchte ich mal sehen.) Die Maximalbreite ist
- darauf ausgelegt, Dateinamen von 32 Zeichen länge nebst Größe, Datum
- und Uhrzeit anzuzeigen. Ein größere Breite würde zumindest in dieser
- Version von BoxKite keinen Gewinn an Information mehr bringen. In
- Auflösungsstufen mit nur 320 Pixel Breite (etwa ST-niedrig) kann
- BoxKite auch TOS-Dateinamen nur so breit anzeigen, daß die weiteren
- Angaben unsichtbar bleiben. Hier ist das Größenfeld also nicht sehr
- nützlich. Wenn Sie die aktuelle Konfiguration sichern ("Sichern" im
- Dialog "Optionen"), wird die Größe mit abgespeichert, so daß Sie
- BoxKite nach dem nächsten Booten in derselben Größe wieder vorfinden.
-
- Der Laufwerksknöpfe (Links von der Liste)
- -----------------------------------------
-
- Dieses Feld enthält die Laufwerksbuchstaben von 'A' bis 'Z'. Durch
- Anklicken eines Buchstabens können Sie auf ein anderes Laufwerk
- umschalten. Das aktuelle Laufwerk wird schwarz hinterlegt. Laufwerke,
- die nicht in Ihrem System vorhanden sind, sind in dieser Box nicht
- anwählbar. Alternativ zur Mausbedienung können Sie mit der Kombination
- "Control"-Laufwerksbuchstabe das aktuelle Laufwerk wechseln.
-
- Der Sortierknopf (rechts oben)
- ------------------------------
-
- Hier bestimmen Sie, in welcher Weise die Dateiliste sortiert wird. Die
- meisten Sortiermodi sind vom Desktop her bekannt. Der Knopf zeigt
- immer den aktuellen Modus an. Die Modi im Einzelnen:
-
- "Nach Namen": Sortiert die Dateien alphabetisch aufsteigend.
- Ordner werden unabhängig vom Sortiermodus immer zuoberst
- angezeigt. Ausnahme: Unsortiert.
-
- "Nach Typ": Sortiert die Dateien alphabetisch aufsteigend
- nach dem Dateityp (auch Extension genannt). Im gewöhnlichen
- TOS-Dateisystem sind das die 3 Buchstaben hinter dem Punkt,
- bei anderen Systemen (wo evtl. ein Name mehrere Punkte
- enthalten darf) alles hinter dem letzten Punkt. Bei gleichem
- Typ wird nach den Namen sortiert.
-
- "Nach Größe": Sortiert aufsteigend nach der Größe (die
- Kleinen nach vorn). Bei gleicher Größe wird nach den Namen
- sortiert.
-
- "Nach Datum": Sortiert absteigend nach Datum und Uhrzeit, d.
- h. die jüngsten Einträge stehen oben. Bei gleicher Zeit wird
- nach den Namen sortiert.
-
- "Unsortiert": Zeigt alle Dateien und Ordner in der
- Reihenfolge an, in der sie tatsächlich auf dem Datenträger
- steht. Das kann schon mal wichtig sein; im AUTO-Ordner z. B.
- bestimmt diese Reihenfolge die Reihenfolge der Ausführung.
-
- "Numerisch": Dies ist ein Zusatzschalter, der die
- alphabetische Sortierung steuert. Wenn er eingeschaltet ist
- (erkennbar am Häkchen), werden in die Namen eingebettete
- Zahlen erkannt und aufsteigend berücksichtigt. Beispiel: Die
- Namen BRIEF1.TXT, BRIEF2.TXT und BRIEF10.TXT erscheinen bei
- normaler alphabetischer Sortierung in der Reihenfolge:
-
- BRIEF1.TXT
- BRIEF10.TXT
- BRIEF2.TXT
-
- Bei numerischer Sortierung sieht es so aus:
-
- BRIEF1.TXT
- BRIEF2.TXT
- BRIEF10.TXT
-
- "GROSS = klein": Dies ist auch ein Zusatzschalter. Wenn er
- aktiv ist, werden beim Sortieren Groß- und Kleinbuchstaben
- als gleich angesehen, wie man es von der deutschen Sprache
- her gewohnt ist. Andernfalls wird streng nach den
- ASCII-Codes der Buchstaben sortiert, was dazu führt, daß die
- Großbuchstaben vor den Kleinbuchstaben landen. Dann ähnelt
- das Erscheinungsbild eher den Directory-Listen unter UN*X.
- Im Zusammenhang mit Dateisystemen, die nur Großbuchstaben
- unterstützen, hat dieser Schalter natürlich keine Wirkung.
-
-
- Die Masken (am rechten Rand)
- ----------------------------
-
- Am rechten Rand der Box finden Sie 10 Felder für Auswahlmasken. Wenn
- Sie eines dieser Felder anklicken, dann werden aus dem aktuellen Pfad
- nur die Dateien angezeigt, die auf diese Maske passen. Halten Sie
- dabei eine der 'Shift'-Tasten fest, dann wird diese Maske mit einem
- Komma an die aktuell angezeigte Maske angehängt, so daß die Dateien
- angezeigt werden, die auf beide Masken passen. Alternativ können Sie
- diese Maken auch mit den 10 Funktionstasten anwählen.
-
- Wodurch wird nun der Inhalt dieser Felder bestimmt? Das oberste Feld
- enthält immer die Maske, die das Anwendungsprogramm an BoxKite
- übergeben hat. Das zweite Feld steht immer auf '*' (zeige alle Dateien
- an), da diese Maske sehr häufig gebraucht wird. Die restlichen 8
- Felder können Sie selbst definieren. Selektieren Sie dazu eines der
- Felder mit einem Doppelklick oder mit gleichzeitig gehaltener
- 'Control'-Taste. Dann öffnet sich ein Dialog, in dem Sie eine neue
- Maske eintragen können. Sie werden faststellen, daß der tatsächliche
- Inhalt einer solchen Maske weitaus länger sein kann, als die Breite
- des Feldes vermuten läßt. Dies war erforderlich, damit BoxKite auch in
- niedrigen Bildschirmauflösungen noch läuft. Intern wird natürlich die
- volle Länge Ihrer Eingabe gespeichert.
-
- Der Inhalt der editierbaren Maskenfelder wird natürlich bei "Arbeit
- sichern" in die INF-Datei geschrieben, so daß er bei jedem Neustart
- wieder zur Verfügung steht.
-
- Der Längenknopf (unten links)
- -----------------------------
-
- Der Längenknopf ruft ein PopUp auf, in dem Sie zwischen der Anzeige
- von TOS-Dateinamen und der Anzeige von langen Dateinamen umschalten
- können. Ist MiNT (oder ein anderes System, das den
- 'Pdomain'-Mechanismus unterstützt) aktiv, können Sie hier zusätzlich
- eine Automatik aktivieren, die vor möglichen Kompatibilitätsproblemen
- warnt. Nähere Erläuterungen finden Sie im Abschnitt über Dateisysteme
- und Dateinamen.
-
-
- 5. Dateioperationen
- -------------------
-
- Wie oben schon erwähnt, stellt BoxKite Ihnen auch die wichtigsten
- Dateioperationen zur Verfügung. Sie haben sicher schon vor der
- Situation gestanden, einen Text auf eine bestimmte Diskette sichern zu
- müssen, auf der vor lauter Datenmüll nicht genug Platz war. Für
- BoxKite kein Problem: Hier können Sie einfach den Datenmüll löschen
- und anschließend sichern.
-
- Die Dateioperation residieren in einem Pop-Up-Menu hinter dem Knopf
- "Funktionen". Sie können auch direkt über bestimmte
- Tastenkombinationen ausgelöst werden. Sie können jede laufende
- Operation mit den Tasten "Esc" oder "Undo" abbrechen. Die einzelnen
- Punkte dieses Menus sind die folgenden:
-
- "Neues Objekt" (Control-Shift-N)
- --------------------------------
-
- Dieser Punkt gestattet es, im aktuellen Ordner einen neuen Ordner oder
- eine leere Datei (auch das ist gelegentlich nötig) anzulegen. Es
- öffnet sich eine kleine Dialogbox, in der Sie den neuen Namen eingeben
- und festlegen können, ob ein Ordner oder eine Datei erzeugt werden
- soll.
-
- "Information" (Alternate-I)
- ---------------------------
-
- Dieser Befehl liefert detailliertere Informationen über die einzelnen
- momentan selektierten Objekte (Ordner und Dateien). Er kann nicht
- aufgerufen werden, wenn nichts selektiert ist. Sind mehrere Objekte
- selektiert, so wird eins nach dem anderen angezeigt, falls Sie den
- Befehl nicht unterbrechen (wie, siehe unten). Es wird eine Dialogbox
- angezeigt, die Name, Erstellungsdatum und Uhrzeit des Objektes
- enthält. Für Dateien werden auch die Größe und die TOS-Attributbits
- angezeigt, für Ordner dagegen Informationen über den Inhalt. Letzteres
- kann schon mal etwas dauern, wenn der Ordner viele Unterordner und
- Dateien enthält. Den Namen und die Dateiattribute können Sie
- verändern. Wenn Sie die Box mit "Ok" verlassen, werden geänderte Namen
- und Attribute übernommen und Informationen zum nächsten selektierten
- Objekt angezeigt, sofern noch eines vorhanden ist. Wenn Sie "Weiter"
- benutzen, geht BoxKite ohne Änderung zum nächsten Objekt über, und mit
- "Abbruch" beenden Sie den gesamten Befehl, ebenfalls ohne Änderung.
-
- Tip: Mit Hilfe der Dateiattribute können Sie eine Datei verstecken.
- Dazu schalten Sie das Bit "Versteckt" ein und die Bits "Schreibschutz"
- und "Archivbit" aus. Warum ausgerechnet diese Kombination nötig ist,
- weiß nur Atari...
-
- "Suchen" (Control-Shift-F)
- --------------------------
-
- Wenn Sie eine bestimmte Datei öffnen wollen und nicht mehr genau
- wissen, wo auf Ihrer Festplatte sie steckt (auch eine Diskette kann
- ganz schön unübersichtlich werden), liefert dieser Befehl eine
- Hilfestellung. Er durch sucht das aktuelle und alle darin enthaltenen
- Verzeichnisse nach Dateien, deren Namen auf ein bestimmtes Muster
- passen. In die Dialogbox tragen Sie das Suchmuster ein und starten die
- Suche mit "Ok". Wenn eine passende Datei gefunden wurde, erscheint
- eine Hinweisbox mit dem Dateinamen. Gleichzeitig wird dahinter in der
- Dateiliste das entsprechende Verzeichnis angezeigt. Die Hinweisbox
- bietet Ihnen folgende Möglichkeiten: Mit "Ok" beenden Sie die Suche
- und bleiben in dem Ordner, in dem die Datei gefunden wurde, mit
- "Weiter" setzen Sie die Suche fort und mit "Abbruch" beende Sie die
- Suche und kehren ins ursprüngliche Verzeichnis zurück.
-
- "Kopieren" (Alternate-C, Merke: "Copy")
- ---------------------------------------
-
- Mit diesem Befehl können Sie einzelne Dateien und ganze Ordner nebst
- Inhalt kopieren. Er ist nur anwählbar, wenn auch Objekte zum Kopieren
- selektiert sind. Als erstes fordert BoxKite Sie mit einem Piepton und
- einer Meldung in der Titelzeile auf, einen Zielordner zu bestimmen.
- Öffnen Sie dazu einfach den entsprechenden Ordner und quittieren Sie
- mit "Ok". Danach erscheint eine Dialogbox, die Sie über die zu
- kopierenden Datenmengen informiert. Wenn darin die Option "Datum/Zeit
- beibehalten" selektiert (angekreuzt) ist, erhalten die Kopien dieselbe
- Zeitmarkierung wie die Ursprungsdateien, ansonsten werden sie auf das
- aktuelle Datum und die aktuelle Uhrzeit gesetzt. Starten Sie den
- Kopiervorgang mit "Ok".
-
- Wenn ein Namenskonflikt entsteht, d. h. im Zielordner eine Datei
- existiert, die denselben Namen wie eine zu kopierende Datei hat,
- erscheint eine Hinweisbox, die Ihnen Gelegenheit gibt, für die zu
- kopierende Datei einen neuen Namen auszuwählen. Gerade beim Arbeiten
- mit verschiedenen Dateisystemen können solche Situationen etwas
- unerwartet auftreten. Kopiert man etwa von einem Minix-Dateisystem mit
- 32 Zeichen langen Namen auf ein TOS-Dateisystem mit "8-Punkt-3"-Namen,
- so werden die langen Namen entsprechend zurechtgestutzt. Dabei können
- leicht Überschneidungen entstehen.
-
- "Verschieben" (Alternate-M)
- ---------------------------
-
- Funktioniert genauso wie "Kopieren", außer daß die Ausgangsdatei
- anschließend gelöscht wird. Diese Funktion ist nur in der Vollversion
- enthalten.
-
- "Touch" (Alternate-H)
- ---------------------
-
- Eine Datei zu "Touchen" (sprich: Betatschen) bedeutet, Ihre Datums-
- und Zeitmarkierung auf das aktuelle Datum und die aktuelle Uhrzeit zu
- setzen. Dies ist hauptsächlich für Programmierer und TeX-Benutzer
- interessant, die das Verhalten von Utilities wie 'make' oder
- bestimmten Entwicklungsumgebungen beeinflussen wollen. Auch dieser
- Befehl arbeitet bei selektierten Ordnern rekursiv, d. h. er bearbeitet
- Dateien in den Ordnern, Dateien in den Ordnern in den Ordnern,...
- Diese Funktion ist nur in der Vollversion zugänglich.
-
- "Löschen" (Alternate-D, Merke: "Delete")
- ----------------------------------------
-
- Mit diesem Befehl können Sie Ordner und Dateien löschen, etwa um auf
- dem Datenträger Platz zu schaffen. Auch dieser Befehl arbeitet
- rekursiv. Seien Sie also vorsichtig.
-
- "Über BoxKite" (Alternate-B)
- ----------------------------
-
- Dieser Menupunkt zeigt eine Dialogbox mit Copyright-Informationen an.
- Mit dem Knopf "Ok" verlassen Sie diese Box. Mit "Info" zeigen Sie eine
- weitere Infobox an. In der öffentlichen Version von BoxKite befindet
- sich hier auch der Button "Registrieren", mit dem Sie eine Vollversion
- erzeugen können, sofern Sie die Sharewaregebühr bezahlt haben und den
- Schlüssel besitzen.
-
-
- 6. Optionen
- -----------
-
- Über den Knopf "Optionen" erreichen Sie einen weiteren Dialog, in dem
- Sie eine Reihe von Grundeinstellungen für die Arbeitsweise von BoxKite
- treffen und abspeichern können. Aus Platzgründen werden die einzelnen
- Optionen in einer Listbox aufgeführt, in der die eingeschalteten
- Optionen mit Häkchen gekennzeichnet sind. Durch einen Mausklick können
- Sie eine Option ein- oder ausschalten. Alternativ zeigt die Listbox
- einen Auswahlbalken an, den Sie mit den Pfeiltasten versetzen können.
- Die Option unter dieser Auswahl wird mit der Leertaste ein- oder
- ausgeschaltet.
-
- Schließlich enthält dieser Dialog noch drei Buttons:
-
- "Abbruch": Verläßt die Box, ohne die Einstellungen zu
- übernehmen.
-
- "Ok": Verläßt den Dialog und übernimmt die Einstellungen.
-
- "Sichern": Verläßt den Dialog, übernimmt die Einstellungen
- und sichert den Zustand von BoxKite, d. h. die Größe der
- Box, die Einstellungen dieses Dialogs, den Sortiermodus, die
- gespeicherten Pfade und Suchmasken (s. u.) in eine Datei
- namens 'BOXKITE.INF'. Diese Datei wird bei jedem Neustart
- von BoxKite gelesen und ausgewertet, so daß Sie wieder Ihre
- Lieblingskonfiguration vorfinden. Pfade und Dateitypen, die
- von der Hauptapplikation an BoxKite übergeben wurden, werden
- nicht gespeichert. Diese Funktion ist nur in der Vollversion
- zugänglich.
-
- Nun zur Beschreibung der Optionen im Einzelnen:
-
- Versteckte Dateien anzeigen
- ---------------------------
-
- TOS bietet die Möglichkeit, Dateien im Desktop unsichtbar zu machen,
- um sie vor unvorsichtigen Zugriffen zu schützen oder die Anzeige
- übersichtlicher zu gestalten. Manchmal muß man aber ausgerechnet so
- eine Datei bearbeiten. Mit diesem Menupunkt können Sie sie in BoxKite
- sichtbar machen.
-
- Doppelklick öffnet Ordner
- -------------------------
-
- Wenn dieser Punkt aktiviert ist wird ein Ordner mit Einfachklick nur
- selektiert. Um ihn zu öffnen, benötigen Sie einen Doppelklick - genau
- wie in den Fenstern im GEM-Desktop. (Sie erinnern sich: Ein
- Rechtsklick tuts auch.)
-
- In Namen alle Zeichen zulassen
- ----------------------------------
-
- Mit diesem Menupunkt schalten Sie die Beschränkung des in Dateinamen
- erlaubten Zeichensatzes ein oder aus. Wenn Sie nur mit dem
- TOS-Dateisystem arbeiten, ist es sicherer die Einschränkung
- einschalten (näheres in Abschnitt 7). Es gibt allerdings auch
- Anwendungsprogramme, die den Fileselector dazu "mißbrauchen", vom
- Anwender eine Dateimaske zu erfragen, die Wildcards ('*' und '?')
- enthält. Um Wildcards ins Namensfeld von BoxKite einzugeben, müssen
- Sie die Einschränkung abschalten.
-
- Box immer mit Maximalhöhe öffnen
- ----------------------------------
-
- Wenn dieser Menupunkt aktiviert ist, nutzt BoxKite beim Öffnen der Box
- immer die gesamte senkrechte Bildschirmauflösung aus, um so viele
- Dateien wie möglich anzuzeigen. Danach können Sie ihn
- selbstverständlich wieder verkleinern. Auch in dieser Betriebsart
- erscheint BoxKite immer in der Breite, die Sie ausgewählt haben.
-
- *.PRG zeigt alle Programme an
- -------------------------------
-
- Wenn dieser Punkt aktiv ist, erhält die Suchmaske "*.PRG" am Ende
- einer Pfadangabe eine Sonderbedeutung: Sie zeigt alle die Dateien an,
- die laut GEM-Konvention ausführbare Programme sind. Das sind die
- Dateien mit den Typen PRG, APP, TOS, TTP, GTP. Dieser Modus ist z. B.
- im Zusammenhang mit dem Menubefehl "Execute..." der Purbo-C-Shell
- interessant.
-
- Undo bricht den Dialog ab
- --------------------------
-
- Mit diesem Menupumkt wird die Bedeutung der "Undo"-Taste festgelegt.
- Ist er abgehakt, dann wirkt "Undo" wie ein Klick auf "Abbruch" (eigens
- für die Selectric-Freunde unter Ihnen). Andernfalls wechseln Sie mit
- "Undo" zum höheren Verzeichnis.
-
- Klick rechts = Doppelklick
- --------------------------
-
- Wenn diese Option aktiv ist, können Sie an jede Funktion, die einen
- Doppelklick erfordert, auch mit einem einfachen Klick auf die rechte
- Maustaste auslösen. (Diese Option war in älteren BoxKite-Versionen
- immer aktiv. Es hat sich jedoch herausgestellt, daß sie nicht
- kompatibel mit bestimmten unsauberen Programmen, etwa GFA-Basic bis
- Version 3.x ist. Daher ist sie nunmehr abschaltbar.)
-
- 3D-Optik im Dialog
- ------------------
-
- Die 3D-Optik, die mit den Falcon-TOS-Versionen und mit MultiTOS
- eingeführt wurde, hat in der TOS-Szene zu den herrlichsten
- Diskussionen geführt. Darum können Sie sie in BoxKite nach Belieben
- ein- und ausschalten.
-
- Dialog als GEM-Fenster
- ----------------------
-
- Wenn Sie diesen Punkt anklicken, wird der BoxKite bei zukünftigen
- Aufrufen als GEM-Fenster dargestellt. Im Unterschied zum 3D-Look wird
- diese Einstellung nicht sofort wirksam, sondern erst beim nächsten
- Aufruf von BoxKite. Der Vorzug dieser Darstellungsweise liegt darin,
- daß unter Multitasking-Betriebssystemen Hintergrundprogramme nicht in
- dem Moment angehalten werden, in dem sie eine Bildschirmausgabe
- machen.
-
- In BoxKite 1.71 werden Sie feststellen, daß die Box sich nicht immer
- als Fenster öffnet, auch wenn Sie diese Auswahl getroffen haben. Das
- kann einmal daran liegen, daß BoxKite als Unterdialog eines anderen
- Dialoges erscheint, der selbst nicht in einem Fenster liegt. Ein
- Beispiel dafür ist der GEMINI-Dialog zum Laden von
- Hintergrundbildern. Der andere mögliche Grund ist der, daß die
- Hauptapplikation einfach nicht darauf vorbereitet ist, daß der
- Fileselector ein Fenster sein kann, und darum im Betriebssystem
- bestimmte Sperren aktiviert.
-
- Eine andere systembedingte Einschränkung des Betriebes von BoxKite im
- Fenster ist die, daß in dieser Situation BoxKite für die
- Hauptapplikation das Zeichnen von hintenliegenden Fenstern übernehmen
- muß. Da BoxKite nicht wissen kann, was in diesen Fenstern dargestellt
- werden soll, behilft er sich mit bunten Logos. Seien Sie also nicht
- überrascht, wenn sich die Fenster Ihres Programmes plötzlich
- verändern, falls Sie BoxKite verschieben. Dieses Problem ist nur zu
- umgehen, wenn die Hauptapplikationen an diese Situation angepaßt
- werden. BoxKite bietet dazu eine Schnittstelle an, die im Anhang
- beschrieben wird.
-
- Aufgrund dieser Einschränkungen ist der Fensterbetrieb in BoxKite
- abschaltbar.
-
- Pfade automatisch merken
- ------------------------
-
- Mit dieser Option werden die automatischen Veränderungen im Pfadmenü
- (s. o.) ein- oder ausgeschaltet.
-
- Farbige Hervorhebungen
- ----------------------
-
- Mit dieser Option schalten Sie die farbige Anzeige von Programmen,
- Ordnern und Links aus bzw. ein. Dieser Schalter hat natürlich nur in
- Farbauflösungen eine Auswirkung.
-
- Box stets an Mausposition öffnen
- --------------------------------
-
- Ist diese Option aktiviert, so wird BoxKite nach Möglichkeit stets in
- der Nähe des Mauszeigers geöffnet. Dies ist besonders auf großen
- Monitoren interessant.
-
-
- 7. Einige theoretische Anmerkungen
- ----------------------------------
-
- Dieser Abschnitt stellt einige der erweiterten Möglichkeiten von MiNT
- und MultiTOS zur Dateibehandlung kurz dar und erläutert, wie BoxKite
- Ihnen helfen kann, aus diesen Möglichkeiten den meisten Nutzen zu
- ziehen. Dazu enthält BoxKite einige weitere Bedienungselemente, die
- nur unter MiNT sichtbar sind. Diesen Abschnitt können Sie eigentlich
- überspringen, wenn Sie MiNT oder MultiTOS nicht einsetzen. Aber wer
- weiß, vielleicht kommen Sie ja bei der Lektüre auf den Geschmack?
-
- Der oberste Abschnitt ist natürlich inzwischen überholt. MagiC 3 und
- MagiCMac können auch mit langen Dateinamen umgehen. Dadurch werden
- diese Möglichkeiten in BoxKite natürlich noch interessanter.
-
- Dateisysteme & Dateinamen
- -------------------------
-
- Was sind nun eigentlich Dateisysteme? Warum sind lange Dateinamen
- interessant?
-
- Ein Dateisystem ist derjenige Teil des Betriebssystems, der dafür
- verantwortlich ist, ob und wie die Daten auf den Disketten oder
- Festplatten gespeichert werden. In das Betriebssystem TOS ist ein
- Dateisystem eingebaut, das auf Kompatibilität mit MS-DOS (just say
- no!) ausgelegt ist. Diese Entscheidung brachte aber neben der
- Möglichkeit, (fast) ohne Probleme Disketten mit PCs auszutauschen,
- auch einige Unannehmlichkeiten mit sich: Da ist einmal die nicht immer
- berauschende Geschwindigkeit, und zum anderen die Beschränkung auf 12
- Zeichen lange Dateinamen, die nur Großbuchstaben enthalten können und
- im bekannten "8-Punkt-3"-Format vorliegen müssen. Da muß man manchmal
- viel Phantasie aufbringen, um vom Namen auf den Inhalt einer Datei
- schließen zu können.
-
- Für dieses Problem zeichnet sich aber eine Lösung ab: Die
- Betriebssystemerweiterung MiNT, die auch die Grundlage von MultiTOS
- bildet, ist so offen ausgelegt, daß man ohne weiteres bessere
- Dateisysteme einbinden kann. Ein solches System ist etwa das
- Minix-Dateisystem von Steven Henson (in jeder gut sortierten Mailbox
- erhältlich), das neben anderen Vorteilen wesentlich längere Dateinamen
- mit Groß- und Kleinbuchstaben zuläßt. Hier kann eine Datei etwa
- 'Kapitel.3.Versuch.2.TXT' anstatt 'KAP3VER2.TXT' heißen. Dem Vernehmen
- nach können auch MagiC 3 und MagiCMac Dateisysteme laden. Auf dem Mac
- ist dies sogar erforderlich, um auf die Daten auf Mac-Disketten bzw.
- -Platten korrekt zuzugreifen.
-
- BoxKite kann unter diesen Systemen Dateien mit Namen von bis zu 32
- Zeichen mit gemischter Groß- und Kleinschreibung anzeigen. Die Namen
- dürfen auch beliebig viele Punkte enthalten. In anderen Boxen werden
- längere Namen so verstümmelt, daß sie auf die "8-Punkt-3"-Regel des
- TOS-Dateisystems passen. Das Minix-Dateisystem läßt zwar bei
- entsprechender Einstellung noch längere Namen zu, doch leidet meines
- Wissens dann die Effizienz.
-
- BoxKite versucht, in der Dateiliste Namen, Größe und Erstellungsdatum
- der Dateien anzuzeigen. Dies ist von der maximal möglichen Länge der
- Namen und von der aktuellen Breite der Box abhängig, d. h. wenn die
- Box gerade breit genug für 32 Zeichen lange Namen ist, verschwinden
- die Zusatzinformationen. Wenn Sie dann BoxKite mit dem Größenfeld
- verbreitern, werden die Zusatzinformationen wieder sichtbar.
-
- Die Länge des Namensfeldes von BoxKite entspricht immer der maximalen
- Länge eines Dateinamens im aktuellen Dateisystem. Ebenso gibt das Feld
- den Punkt vor, wenn das Dateisystem vom Typ "8-Punkt-3" ist (was
- leider noch meistens der Fall ist). Wenn das Dateisystem keinen
- Unterschied zwischen Groß- und Kleinbuchstaben macht (ebenfalls leider
- noch meistens der Fall), werden alle Eingaben in dieses Feld in
- Großbuchstaben gewandelt. Sie können also nichts falsch machen. Wenn
- Sie MiNT einsetzen, probieren Sie es mal im Laufwerk U: aus.
-
- Wie so oft erhebt sich auch in diesem Zusammenhang die leidige Frage
- nach der Kompatibilität, d. h. der Verträglichkeit bereits
- existierender Programme mit diesen neuen Möglichkeiten. Es soll
- nämlich Programme geben, die nur Speicherplatz für Dateinamen von 12
- Zeichen reservieren. Wenn man diesen längere Namen übergibt, stürzen
- sie u. U. ab und nehmen alle erreichbaren Daten mit in den Orkus.
-
- Leider gibt es im Allgemeinen keine Möglichkeit, solche Übeltäter von
- vornherein zu erkennen und dingfest zu machen. Dazu müßte BoxKite wohl
- in der Lage sein, durch bloße Betrachtung des Programmes
- festzustellen, ob dieses lange Dateinamen verträgt. Das scheint mir
- aber äquivalent zu einer Lösung des Halteproblems zu sein ;-)
-
- Daher bleibt die Verantwortung letztlich beim Anwender, also bei
- Ihnen. Sie können BoxKite über den Namensknopf so einstellen, daß
- entweder nur TOS-Namen oder lange Dateinamen angezeigt oder
- zurückgeliefert werden. Unter MiNT (oder anderen Systemen, die diesen
- Mechanismuns unterstützten - mir ist aber noch keines bekannt) können
- Sie zusätzlich eine Warnautomatik einschalten, die auf mögliche
- Kompatibilitätsprobleme hinweist. Die Theorie, die dem zugrundeliegt,
- ist die Folgende:
-
- Unter MiNT lassen sich Programme in zwei Klassen einteilen:
- MiNT-Anwendungen und TOS-Anwendungen. Eine MiNT-Anwendung zeichnet
- sich dadurch aus, daß sie mit den erweiterten Möglichkeiten von MiNT,
- insbesondere mit langen Dateinamen umgehen kann. Von einer
- TOS-Anwendung kann man dies nicht annehmen, und MiNT verfolgt die
- Philosophie, einer solchen Anwendung auch nur auf das
- "8-Punkt-3"-Format verkürzte Dateinamen zu zeigen.
-
- Diese Philosophie ist auch nicht ganz unproblematisch. Es kann
- durchaus vorkommen, daß zwei verschiedene Namen, die sich z. B. erst
- im 10. oder 12. Zeichen unterscheiden, in der verkürzten Form gleich
- aussehen und dann von Anwendungsprogrammen nicht mehr unterschieden
- werden können. Wenn Sie schon gezwungen sind, TOS-Anwendungen zu
- benutzen, können Sie diesem Problem dauerhaft nur dadurch ausweichen,
- daß Sie schon bei der Neuanlage von Dateien die Namen so auswählen,
- daß sie an den ersten 8 Zeichen des Namens und den ersten 3 Zeichen
- der Erweiterung eindeutig zu identifizieren sind. Da die Namen z. B.
- im Minix-Dateisystem auch mehrere Punkte enthalten dürfen, ist unter
- der Erweiterung alles zu verstehen, was hinter dem letzten Punkt
- steht.
-
- BoxKite ist nun in der Lage, festzustellen, ob er von einer MiNT- oder
- einer TOS-Anwendung aus aufgerufen wurde (Für Insider: Er prüft, ob
- der aktuelle Prozeß in der MiNT-Domain läuft und ob evtl. noch ein
- Accessory mit im Spiel ist). Wenn Sie dann versuchen, lange Namen an
- die aufrufende Anwendung zurückzugeben, wird eine Warnung angezeigt.
- Dann können Sie die langen Namen immer noch zurückgeben; Sie sind aber
- selbst für die Folgen verantwortlich.
-
- Selbstverständlich bleiben die Autoren von Anwendungsprogrammen
- aufgefordert, dafür zu sorgen, daß ihre Programme mit langen
- Dateinamen zurechtkommen.
-
- Nochmal Dateinamen
- ------------------
-
- BoxKite hilft auch noch dabei, ein anderes Kompatibilitätsproblem zu
- lösen: Laut offizieller Dokumentation dürfen unter TOS Dateinamen nur
- bestimmte Zeichen enthalten, u. a. keine Umlaute. Das
- Minix-Dateisystem dagegen kennt solche Einschränkungen nicht. Um die
- Lage vollends zu verwirren, wissen zumindest einige TOS-Versionen
- nichts davon, daß sie diese Zeichen eigentlich gar nicht beherrschen,
- und verarbeiten z. B. die Umlaute klaglos. Auf der anderen Seite
- existieren angeblich Anwendungsprogramme, die Dateinamen mit solchen
- Zeichen schlecht vertragen.
-
- In BoxKite können Sie die Beachtung von solchen Einschränkungen des
- Zeichensatzes ein- und ausschalten. Wenn der Zeichensatz eingeschränkt
- ist, können Sie Zeichen, die laut der TOS-Dokumentation nicht erlaubt
- sind (nachzulesen im ATARI Profibuch, Sybex, 12. Auflage 1992, S.
- 160), gar nicht erst eingeben. Ist der Zeichensatz nicht beschränkt,
- dann dürfen Ihre Dateinamen alle Zeichen außer '\', '/' und ':'
- enthalten. Diese Zeichen sind ausgenommen, da sie von TOS als
- Trennzeichen für die Namen von verschachtelten Ordnern interpretiert
- werden. Ansonsten ist alles erlaubt.
-
- Das heißt aber nicht, daß auch alles ratsam wäre. Wenn Sie z. B. eine
- Textshell (wie ksh, sh, bash, mintshel oder Mupfel) einsetzen, und
- wenn Zeichen, die für die Shell eine besondere Bedeutung haben (häufig
- sind das '|', '>', '$' u. ä.) in Ihren Dateinamen vorkommen, können
- können Sie eventuell diese Dateien von der Shell aus nicht ohne
- weiteres ansprechen. Dann müssen Sie auf einen Mechanismus in der
- Shell zurückgreifen, der diesen Spezialzeichen ihre Bedeutung nimmt
- (in den Handbüchern meist als 'Quoting' bezeichnet).
-
- Das TOS-Dateisystem hat die Eigenart (Bug? Feature?), daß bei Namen,
- die Leerzeichen enthalten, alles ab dem Leerzeichen abgeschnitten
- wird. '*' und '?' haben noch eigenartigere Auswirkungen. Umlaute
- dagegen werden meines Wissens von den meisten Versionen sauber
- verarbeitet. Dennoch muß hier eine deutliche Warnung ausgesprochen
- werden: Es ist nicht garantiert, daß sich das TOS-Dateisystem in allen
- Versionen genau so verhält oder daß es sich bis in alle Zukunft
- weiterhin so verhalten wird. Es ist durchaus möglich, daß
- TOS-Versionen existieren oder in Zukunft erscheinen, in denen nicht
- erlaubte Zeichen in Dateinamen zu Abstürzen und/oder Datenverlusten
- führen. Wenn Sie also dem TOS-Dateisystem solche Dateinamen vorsetzen,
- handeln Sie auf eigene Verantwortung.
-
- Symbolische Links
- -----------------
-
- Eine weitere hübsche Eigenschaft von MiNT sind die sogenannten
- symbolischen Links. Dabei handelt es sich um eine Möglichkeit, eine
- Datei unter zwei verschiedenen Namen in zwei verschiedenen Ordnern
- anzusprechen. "Wozu ist denn das gut?" werden Sie sich jetzt
- vielleicht fragen.
-
- Stellen Sie sich etwa vor, daß die Programme und Daten, die Sie häufig
- benötigen, in Ordnern liegen, die über alle Festplattenpartitionen
- verteilt sind, zum Beispiel C:\WORDPLUS\TEXTE\POST\LIEBESBR.IEF und
- D:\DATABASE\PRIVAT\ADRESSEN. Dann müssen Sie sich immer von einem
- Laufwerk zum anderen durchklicken, um diese Daten zu erreichen. Der
- gewiefte Anwender einer modernen Shell (etwa der neue Desktop oder
- Gemini) wird nun diese Ordner als Icons auf dem Desktophintergrund
- plazieren. Solange man nur mit der Shell arbeitet, ist das auch sehr
- hilfreich. Versucht man aber, eine dieser Dateien von einer anderen
- Anwendung aus zu öffnen, darf man sich wieder durch alle Laufwerke und
- Ordner klicken.
-
- Unter MiNT ist das anders. Hier können Sie mit Hilfe eines
- symbolischen Links dafür sorgen, daß jeder dieser Ordner ein
- "Doppelleben" im Laufwerk U: führt. Dann liegt alles, was Sie häufig
- brauchen, in U: schön nebeneinander, und wird von ALLEN
- Anwendungsprogrammen dort gefunden. Die beiden Bandwurmnamen oben
- können Sie damit z. B. als U:\LIEBESBR.IEF und U:\ADRESSEN ansprechen.
-
- Um es nochmal deutlich zu sagen: Dabei werden keine Daten kopiert; Sie
- sprechen nur je eine Datei unter zwei verschiedenen Namen an. Wenn Sie
- also U:\LIEBESBR.IEF verändern, werden Sie die Änderungen in
- C:\WORDPLUS\TEXTE\POST\LIEBESBR.IEF wiederfinden.
-
- Wie legt man nun einen solchen Link am sinnvollsten an? Bei jedem
- Start von MiNT, also beim Booten des Rechners wird eine Steuerdatei
- namens MINT.CNF ausgeführt. Unter anderem kann diese Datei auch
- Befehle zum Anlegen von symbolischen Links enthalten. Die Links, die
- Sie dort eintragen, werden bei jedem Start des Systems angelegt und
- stehen damit ohne weiteren Aufwand immer zur Verfügung. Für das erste
- Beispiel lautet der Befehl:
-
- sln C:\WORDPLUS\TEXTE\POST\LIEBESBR.IEF U:\LIEBESBR.IEF
-
- BoxKite markiert symbolische Links in der Anzeige durch einen
- vorangestellten Punkt. Ferner steht eine Möglichkeit zur Verfügung,
- einen Link aufzulösen, d. h. herauszufinden, wie das fragliche Objekt
- wirklich heißt und wo es steht.
-
- Ferner enthält unter MiNT der Kopf der Dateiliste von BoxKite einen
- weiteren Knopf, der mit einem Gleichheitszeichen markiert ist und über
- die Tastenkombination "Alternate-0" angesprochen werden kann. Wenn in
- der Dateiliste ein symbolischer Link selektiert ist, können Sie ihn
- mit dieser Funktion auflösen. Dann zeigt BoxKite das Verzeichnis an,
- in dem sich das Objekt tatsächlich befindet. Der wahre Name des
- Objektes erscheint im Namensfeld. Dieser Knopf ist nicht wählbar (grau
- dargestellt), wenn kein symbolischer Link selektiert ist.
-
- Wenn Sie sich unter MiNT die '?'-Funktion im Verzeichnis U:\C\*
- aufrufen, erhalten Sie die Information über den freien Platz auf
- Laufwerk C: anstelle der wenig ergiebigen Angabe, auf U: seien 0 Bytes
- von 0 frei. Das gleiche gilt, wenn Sie z. B. einen Ordner auf C: über
- einen symbolischen Link auf U: ansprechen.
-
-
- Anhang: Technische Interna
- --------------------------
-
- Dieser Abschnitt beschäftigt sich mit einigen technischen Interna von
- BoxKite. Er ist vermutlich in erster Linie für Programmierer
- interessant. Also gleich in die Vollen:
-
- BoxKite verbiegt die Vektoren für Trap #2 (GEM) und Trap #13 (BIOS).
- Die XBRA-Kennung ist 'HBFS'.
-
- Das Einschachteln des 'fsel_[ex]input()'-Aufrufes in 'wind_update()',
- das in älteren Versionen dieser Doku empfohlen wurde, ist natürlich
- problematisch, falls der Fileselector im Fenster läuft.
-
- BoxKite legt zwei Cookies an: Zum einen den Standardcookie 'FSEL', zum
- anderen einen eigenen Cookie namens 'HBFS'. Über den 'FSEL'-Cookie
- wird eine Teilmenge der Selectric™-Programmierschnittstelle
- realisiert. Diese Schnittstelle wurde von Stefan Radermacher
- entwickelt, dem ich hiermit für die Genehmigung zur Verwendung dieser
- Informationen danke. Der Wert des 'HBFS'-Cookies ist die
- Einsprungadresse des Trap-2-Handlers von BoxKite. Wenn einer der
- beiden Cookies beim Start von BoxKite schon existiert, wird BoxKite
- nicht installiert, da in diesem Fall zu vermuten ist, daß schon ein
- anderer residenter Fileselector installiert ist (der Klügere gibt
- nach).
-
- Auch auf die Gefahr hin, bereits Bekanntes zu wiederholen, möchte ich
- hier die Funktionsweise der Selectric™-Schnittstelle beschreiben,
- soweit sie auf BoxKite zutrifft. Der Wert des 'FSEL'-Cookies ist die
- Adresse einer Datenstruktur, über die der Datenaustausch zwischen dem
- Anwendungsprogramm und dem Fileselector erfolgt. Unter MiNT-Versionen
- mit Speicherschutz ist diese Datenstruktur für Anwendungsprogramme nur
- im Supervisor-Mode zugänglich. Die Datenstruktur wird in C
- folgendermaßen deklariert:
-
- typedef struct
- {
- unsigned long id; /* ID (`SLCT') */
- unsigned int version; /* Version (BCD-Format) */
- struct
- {
- unsigned : 8; /* reserviert */
- unsigned pthsav : 1;
- unsigned stdest : 1;
- unsigned : 1;
- unsigned numsrt : 1; /* numerisches Sortieren */
- unsigned lower : 1;
- unsigned dclick : 1; /* Ordner mit Doppelklick */
- unsigned hidden : 1; /* versteckte Dateien */
- unsigned onoff : 1; /* Fileselector AN/AUS */
- } config;
- int sort; /* Sortiermodus */
- int num_ext; /* Anzahl Extensions */
- char *(*ext)[]; /* Standard-Extensions */
- int num_paths; /* Anzahl Pfade */
- char *(*paths)[]; /* Standard-Pfade */
- int comm; /* communication word */
- int in_count; /* input counter */
- void *in_ptr; /* input pointer */
- int out_count; /* output counter */
- void *out_ptr; /* output pointer */
- int cdecl (*get_first)(XDTA *dta, int attrib);
- int cdecl (*get_next)(XDTA *dta);
- int cdecl (*release_dir)(void);
- } SLCT_STR;
-
- Die Felder 'in_count' und 'in_ptr' sind weder in Selectric noch in
- BoxKite benutzt. Die Felder 'pthsav', 'stdest' und 'lower' haben für
- Selectric eine Bedeutung, sind aber unter BoxKite als reserviert
- anzusehen. Die Felder im Einzelnen:
-
- - 'id': Dieses Langwort muß den Inhalt 'SLCT' haben.
- Andernfalls wurde der 'FSEL'-Cookie von einem Fileselector
- installiert, der das Selectric-Protokoll nicht versteht.
- Bevor Sie das Selectric-Protokoll verwenden, müssen Sie also
- dieses Feld testen.
-
- - 'version': Hier steht die Versionsnummer des
- Selectric-Protokolls im BCD-Format, also 0x100 für 1.0.
- BoxKite trägt nunmehr die Nummer 1.02 ein.
-
- - 'config': Die einzelenen Bits in diesem Wort schalten
- bestimme Features von BoxKite bzw. Selectric ein oder aus.
- Die folgenden Bits sind für BoxKite relevant:
-
- onoff steht dieses Bit auf 0, so wird die
- GEM-Dateiauswahl anstelle von Selectric bzw.
- BoxKite benutzt.
- hidden Gibt an, ob versteckte Dateien angezeigt werden
- sollen.
- dclick Ordner erst auf Doppelklick öffnen.
- numsrt Schaltet die numerische Sortierung ein.
-
- - 'sort': Konfiguriert das Sortierkriterium, dabei gelten
- folgende Werte:
-
- 1 Sortiert nach dem Namen
- 2 nach Datum
- 3 nach Größe
- 4 nach Typ bzw. Extension
- 5 unsortiert
-
- Negative Werte werden von BoxKite ignoriert.
-
- - 'num_ext', 'ext': Über diese beiden Felder kann die
- Anwendung die Liste von Dateitypen verändern. Dazu muß sie
- in 'num_ext' die Anzahl der Typstrings eintragen, in 'ext'
- die Adresse eines Arrays von Zeigern auf die fraglichen
- Strings. Alle Strings, von denen in diesem Abschnitt die
- Rede ist, sind selbstredend nullterminiert. Wenn der
- Anwender BoxKite verläßt, wird 'ext' wieder auf die
- BoxKite-eigene Liste zurückgebogen. Die Applikation muß
- diese Felder also vor jedem fsel_input() bzw. fsel_exinput()
- einstellen. Wenn 'ext' verstellt wird, sperrt BoxKite die
- Funktion 'Typ merken' im Menu unter dem Pfadfeld. Das ist
- erforderlich, da BoxKite nicht wissen kann, wieviel Platz
- die Applikation für einen Typ reserviert hat.
-
- - 'num_paths', 'paths': Mit diesen Feldern kann die
- Applikation BoxKite eine neue Liste von Pfaden
- unterschieben. Das Verfahren ist dasselbe wie oben. Auch
- diese felder müssen vor jedem Aufruf eingestellt werden.
- Wenn 'paths' verstellt wird, sperrt BoxKite die Funktion
- 'Pfad merken' und das Speichern des Pfades nach jeder
- Auswahl.
-
- Bemerkung dazu: Schon die Selectric-Dokumentation weist
- darauf hin, daß Sie als Programmierer diese Features nur
- dann nutzen sollten, wenn es unbedingt nötig ist und wenn
- die Effekte für den Anwender verständlich sind. Bei BoxKite
- kommt erschwerend dazu, daß Sie dadurch andere Features im
- Fileselector blockieren.
-
- P. S.: Wenn der Anwender "Arbeit sichern" betätigt, werden
- die von BoxKite selbst gespeicherten Pfade und Typen
- gesichert, NICHT die von der Applikation festgelegten.
-
- - 'comm': Mit diesem Wort beginnt eigentlich der
- interessanteste Teil des Selectric-Protokolls, nämlich die
- Möglichkeit, mehr als einen Dateinamen auszuwählen. Dazu
- werden auch noch die Felder 'out_count' und 'out_ptr'
- benutzt. Es wird folgendes Verfahren verwendet: In
- 'out_count' gibt die Applikation an, wieviele Dateinamen sie
- höchstens erwartet. In 'out_ptr' trägt sie eine Adresse ein,
- an der sie diese Namen erwartet. In 'comm' gibt die
- Applikation dann an, in welcher Art und Weise die Dateinamen
- übergeben werden sollen. Wenn der Fileselector dann mit "Ok"
- beendet wird, setzt er in 'out_count' die tatsächlich
- ausgewählte Anzahl von Dateien ein und schreibt die Namen
- nach der durch 'comm' bestimmten Methode nach 'out_ptr'.
-
- Um überhaupt die Rückgabe mehrerer Dateinamen zu
- veranlassen, muß die Applikation das Bit 0 in 'comm' auf 1
- setzen. Wenn dann Bit 1 auf 0 steht, wird 'out_ptr' als
- Adresse eines Arrays von Zeigern interpretiert, von denen
- jeder auf den Speicher für einen Dateinamen verweist. Es
- müssen mindestens so viele gültige Zeiger vorhanden sein,
- wie 'out_count' angibt, und jeder Zeiger muß auf einen
- hinreichend großen freien Speicherblock verweisen. ACHTUNG:
- 13 Bytes (incl. terminierender 0) sind NICHT genug, 33 Bytes
- kommen der Sache schon näher. Ist Bit 1 gleich 1, so gilt
- 'out_ptr' als Adresse eines Strings, in den die Namen durch
- Leerzeichen getrennt geschreiben werden. Der String muß groß
- genug für 'out_count' Namen incl. Leerzeichen sein. Beachten
- Sie auch hier, daß ein Name bis zu 32 Zeichen umfassen kann.
- Diese zweite Variante kann aus Kompatibilitätsgründen nicht
- anders implementiert werden; sie kann aber zu Problemen
- führen, wenn Namen auftreten, die bereits Leerzeichen
- enthalten. Das ist z. B. unter dem Minix-Dateisystem
- durchaus erlaubt. Sie sollten sich also im Zweifel für die
- erste Variante entscheiden.
-
- - 'get_first': Dieses und die beiden folgenden Felder
- enthalten die Adressen dreier Unterprogramme, die es
- ermöglichen, eine theoretisch unbegrenzte Anzahl von
- Dateinamen zurückzuerhalten. Dieses Protokoll ist identisch
- mit Selectric™ 1.02 und wird z. B. von 1stView und 1stGuide
- unterstützt. Aus Rücksicht auf die längeren Dateinamen habe
- ich für BoxKite eine kleine Änderung festgelegt, die aber
- die Funktion bestehender Programme nicht beeinflussen
- dürfte.
-
- Um dieses Protokoll zu starten, müssen Sie zunächst in
- 'comm' neben dem Bit 0 auch das Bit 3 auf 1 setzen. Wenn
- 'fsel_input()' dann signalisiert, daß der User 'Ok' gewählt
- hat, rufen Sie zunächst 'get_first' auf. Diese Funktion
- erwartet als Parameter (und zwar in C-Manier auf dem Stack)
- einen Zeiger auf eine XDTA-Struktur und ein Attributwort.
- Eine XDTA-Struktur ist wie folgt zu deklarieren:
-
- typedef struct
- { char d_reserved[21];
- unsigned char d_attrib;
- unsigned int d_time;
- unsigned int d_date;
- unsigned long d_length;
- char d_fname[34];
- } XDTA;
-
- Bis auf die Länge des Namensfeldes ist sie identisch mit der
- Standard-TOS-DTA. Das Namensfeld wurde mit Rücksicht auf die
- langen Dateinamen erweitert.
-
- 'get_first' funktioniert wie 'Fsfirst' und füllt die
- XDTA-Struktur mit Informationen über die erste selektierte
- Datei. Es werden nur solche Dateien zurückgegeben, die die
- Attribute haben, die mit dem übergebenen Attributwort
- korrespondieren (die Werte werden genauso behandelt wie von
- GEMDOS bei Fsfirst(), d. h. Dateien mit den Attributen 0,
- "Archiv" oder "schreibgeschützt" erscheinen immer). Wenn
- eine Datei gefunden wurde, gibt 'get_first()' eine 0 zurück.
- Dann können Sie mit 'get_next()' nacheinander alle weiteren
- Dateien anfordern, bis ein Returncode ungleich 0 auftritt.
- Danach sollten Sie 'release_dir()' aufrufen, woraufhin
- BoxKite den von der Dateiliste belegten Speicher freigibt.
- Spätestens beim nächsten Aufruf von BoxKite passiert das
- auch automatisch, aber so lange sollten Sie eigentlich nicht
- warten. Diesen ganzen Ablauf sollten Sie in 'wind_update'
- einschachteln, damit kein anderer Prozeß auf die Idee kommt,
- zwischenzeitlich eine Dateiauswahlbox aufzurufen. Falls
- diese Beschreibung etwas zu abstrakt geraten ist, werfen Sie
- einen Blick in BEISPIEL.C.
-
- Seit Version 1.71 enthält BoxKite eine Schnittstelle, über die die
- Hauptapplikation GEM-Messages, die sich auf hintenliegende Fenster
- beziehen, erhalten kann. Damit entfällt der Redraw mit kleinen bunten
- Doppeldeckern.
-
- Das Grundprinzip ist ganz einfach. Sie übergeben an BoxKite im
- 'fsel_exinput()' als zusätzlichen Parameter die Einsprungadresse
- einer Routine, die die Behandlung dieser Messages übernimmt. Diese
- Routine muß in C folgendermaßen deklariert werden:
-
- void cdecl message_handler(int *message)
-
- Sie sollte also auf dem Stack (in C-Manier) als einzigen Parameter
- einen Zeiger auf den Message-Puffer erwarten, der von 'evnt_multi()'
- gefüllt wird. Einen Rückgabewert braucht sie nicht zu erzeugen. Vor
- dem Aufruf dieser Routine schaltet BoxKite wieder auf den Stack der
- Hauptapplikation um.
-
- Der Zeiger auf diese Routine wird im GEM-Feld 'addrin' als vierter
- Parameter an 'fsel_exinput()' übergeben. Um deutlich zu machen, daß
- heir ein gültiger Zeiger steht, muß 'contrl[3]' auf 4 gesetzt werden.
- Andere Fileselectoren sollten sich nicht an dieser Änderung stören.
-
- In BEISPIEL.C finden Sie auch für dieses Feature ein Anwedungsbeispiel
- sowie ein in diesem Sinne erweitertes Binding für 'fsel_exinput()'.
- Dieses Binding läuft mit Pure C 1.1. Eine Assembler-Version desselben
- Bindings liegt als Quelltext und als Objekt-Datei im DR-Format bei.
-